package com.imooc.o2o.service;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

import org.springframework.web.multipart.commons.CommonsMultipartFile;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.imooc.o2o.dto.ShopCategoryExecution;
import com.imooc.o2o.entity.ShopCategory;

public interface ShopCategoryService {
	/**
	 * 查询指定某个店铺下的所有商品类别信息
	 * 
	 * @param long shopId
	 * @return List<ProductCategory>
	 * @throws JsonProcessingException
	 * @throws IOException
	 */
//	List<ShopCategory> getFirstLevelShopCategoryList() throws IOException;
//
	/**
	 *根据查询条件获取ShopCategory列表
	 * @param parentId
	 * @return
	 * @throws IOException
	 */
	List<ShopCategory> getShopCategoryList(Long parentId) throws IOException;
//
//	/**
//	 *
//	 * @return
//	 * @throws IOException
//	 */
//	List<ShopCategory> getAllSecondLevelShopCategory() throws IOException;
//
//	/**
//	 *
//	 * @param shopCategory
//	 * @return
//	 */
	ShopCategory getShopCategoryById(Long shopCategoryId);
//
//	/**
//	 *
//	 * @param shopCategory
//	 * @param thumbnail
//	 * @return
//	 */
//	ShopCategoryExecution addShopCategory(ShopCategory shopCategory,
//                                          CommonsMultipartFile thumbnail);
//

	/**
	 *
	 * @param shopCategory
	 * @param shopImgInputStream
	 * @param fileName
	 * @return
	 */
	ShopCategoryExecution modifyShopCategory(ShopCategory shopCategory,
											 InputStream shopImgInputStream, String fileName);
//
//	/**
//	 *
//	 * @param shopCategoryId
//	 * @return
//	 */
//	ShopCategoryExecution removeShopCategory(long shopCategoryId);
//
//	/**
//	 *
//	 * @param shopCategoryIdList
//	 * @return
//	 */
//	ShopCategoryExecution removeShopCategoryList(List<Long> shopCategoryIdList);

}
